package com.kongjs.application.util;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kongjs.application.model.dto.PageDTO;
import com.kongjs.application.model.vo.PageVO;

import java.util.List;

public class PageUtil {

    public static <T> PageDTO<T> pageDto(IPage<T> iPage) {
        PageDTO<T> dto = new PageDTO<>();
        dto.setPageNum(iPage.getCurrent());
        dto.setPageSize(iPage.getSize());
        dto.setTotal(iPage.getTotal());
        dto.setTotalPages(iPage.getPages());
        dto.setItems(iPage.getRecords());
        return dto;
    }

    public static <T> PageVO<T> pageVo(IPage<T> iPage) {
        PageVO<T> vo = new PageVO<>();
        vo.setPageNum(iPage.getCurrent());
        vo.setPageSize(iPage.getSize());
        vo.setTotal(iPage.getTotal());
        vo.setTotalPages(iPage.getPages());
        vo.setItems(iPage.getRecords());
        return vo;
    }

    public static <T> PageVO<T> pageVo(PageDTO<?> dto, List<T> items) {
        PageVO<T> vo = new PageVO<>();
        vo.setPageNum(dto.getPageNum());
        vo.setPageSize(dto.getPageSize());
        vo.setTotal(dto.getTotal());
        vo.setTotalPages(dto.getTotalPages());
        vo.setItems(items);
        return vo;
    }
}
